import request from "@/utils/request";
import { CategoryResponseData } from "./type";

// 属性管理模块接口

enum API {
  // 一级分类接口地址
  C1_URL = '/admin/product/getCategory1',
  // 二级分类接口地址
  C2_URL = '/admin/product/getCategory2/',
  // 三级分类接口地址
  C3_URL = '/admin/product/getCategory3/',
  // 获取分类下已有的属性与属性值
  ATTR_URL = '/admin/product/attrInfoList/',
  // 添加或修改已有属性的接口
  ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo',
  // 删除已有属性的接口
  DLETEATTR_URL = '/admin/product/deleteAttr/'
}

//获取一级分类接口
export const reqC1 = () => request.get<any, CategoryResponseData>(API.C1_URL)

// 获取二级分类接口
export const reqC2 = (category1Id: number | string) => request.get<any, CategoryResponseData>(API.C2_URL + category1Id)

// 获取三级分类接口
export const reqC3 = (category2Id: number | string) => request.get<any, CategoryResponseData>(API.C3_URL + category2Id)

// 获取分类下已有的属性与属性值接口
export const reqAttr = (category1Id: number | string, category2Id: number | string, category3Id: number | string) => request.get<any, any>(API.ATTR_URL + `${category1Id}/${category2Id}/${category3Id}`)

// 新增或修改已有的属性接口
export const reqAddOrUpdateAttr = (data: Attr) => request.post<any, any>(API.ADDORUPDATEATTR_URL, data)

// 删除已有的属性接口
export const reqDleteAttr = (attrId: number) => request.delete<any, any>(API.DLETEATTR_URL + attrId)